home *** CD-ROM | disk | FTP | other *** search
/ Dr. Windows 3 / dr win3.zip / dr win3 / WINWORDS / WINE02BX.ZIP / LISP / MODES / BIBTEX.ELC < prev    next >
Text File  |  1993-03-28  |  20KB  |  201 lines

  1. ;;; compiled by @win386 on Sat Mar 13 14:30:13 1993
  2. ;;; from file c:/src/lucid-19.4/lisp/modes/bibtex.el
  3. ;;; emacs version 19.3 Lucid.
  4. ;;; bytecomp version 2.08; 27-aug-92.
  5. ;;; optimization is on.
  6. ;;; this file uses opcodes which do not exist in Emacs18.
  7.  
  8. (if (and (boundp 'emacs-version)
  9.      (or (and (boundp 'epoch::version) epoch::version)
  10.          (string-lessp emacs-version "19")))
  11.     (error "This file was compiled for Emacs19."))
  12.  
  13. (defvar bibtex-mode-syntax-table nil "\
  14. ")
  15. (defvar bibtex-mode-abbrev-table nil "\
  16. ")
  17. (define-abbrev-table 'bibtex-mode-abbrev-table nil)
  18. (defvar bibtex-mode-map (make-sparse-keymap) "\
  19. ")
  20. (defvar bibtex-pop-previous-search-point nil "\
  21. Next point where bibtex-pop-previous should start looking for a similar
  22. entry.")
  23. (defvar bibtex-pop-next-search-point nil "\
  24. Next point where bibtex-pop-next should start looking for a similar
  25. entry.")
  26. (fset 'bibtex-cfield #[(name text) "└    ┬ ─░ç" [",[     \n]*\\(" name "\\)[     \n]*=[     \n]*\\(" text "\\)"] 5 "\
  27. Create a regexp for a bibtex field of name NAME and text TEXT"])
  28. (defconst bibtex-name-in-cfield 1 "\
  29. The regexp subexpression number of the name part in bibtex-cfield.")
  30. (defconst bibtex-text-in-cfield 2 "\
  31. The regexp subexpression number of the text part in bibtex-cfield.")
  32. (defconst bibtex-field-name "[A-Za-z][---A-Za-z0-9:_+]*" "\
  33. Regexp defining the name part of a bibtex field.")
  34. (defconst bibtex-field-text "\"[^\"]*[^\\\\]\"\\|\"\"\\|[0-9A-Za-z][---A-Za-z0-9:_+]*" "\
  35. Regexp defining the text part of a bibtex field: either a string, or an empty string, or a constant.")
  36. (defconst bibtex-field (bibtex-cfield bibtex-field-name bibtex-field-text) "\
  37. Regexp defining the format of a bibtex field")
  38. (defconst bibtex-name-in-field bibtex-name-in-cfield "\
  39. The regexp subexpression number of the name part in bibtex-field")
  40. (defconst bibtex-text-in-field bibtex-text-in-cfield "\
  41. The regexp subexpression number of the text part in bibtex-field")
  42. (defconst bibtex-reference-type "@[A-Za-z]+" "\
  43. Regexp defining the type part of a bibtex reference entry")
  44. (defconst bibtex-reference-head (concat "^[     ]*\\(" bibtex-reference-type "\\)[     ]*[({]\\(" bibtex-field-name "\\)") "\
  45. Regexp defining format of the header line of a bibtex reference entry")
  46. (defconst bibtex-type-in-head 1 "\
  47. The regexp subexpression number of the type part in bibtex-reference-head")
  48. (defconst bibtex-key-in-head 2 "\
  49. The regexp subexpression number of the key part in
  50. bibtex-reference-head")
  51. (defconst bibtex-reference (concat bibtex-reference-head "\\([     \n]*" bibtex-field "\\)*" "[     \n]*[})]") "\
  52. Regexp defining the format of a bibtex reference entry")
  53. (defconst bibtex-type-in-reference bibtex-type-in-head "\
  54. The regexp subexpression number of the type part in bibtex-reference")
  55. (defconst bibtex-key-in-reference bibtex-key-in-head "\
  56. The regexp subexpression number of the key part in
  57. bibtex-reference")
  58. (defconst bibtex-string (concat "^[     ]*@[sS][tT][rR][iI][nN][gG][     \n]*[({][     \n]*\\(" bibtex-field-name "\\)[     \n]*=[     \n]*\\(" bibtex-field-text "\\)[     \n]*[})]") "\
  59. Regexp defining the format of a bibtex string entry")
  60. (defconst bibtex-name-in-string 1 "\
  61. The regexp subexpression of the name part in bibtex-string")
  62. (defconst bibtex-text-in-string 2 "\
  63. The regexp subexpression of the text part in bibtex-string")
  64. (defconst bibtex-name-alignement 2 "\
  65. Alignment for the name part in BibTeX fields.
  66. Chosen on aesthetic grounds only.")
  67. (defconst bibtex-text-alignment (length "  organization = ") "\
  68. Alignment for the text part in BibTeX fields.
  69. Equal to the space needed for the longest name part.")
  70. (fset 'bibtex-mode #[nil "└ ê    ½å┬    !ê¬┤├ ┬    !ê─┼╞\"ê─╟╚\"ê─╔╩\"ê─╦╠\"ê─═╠\"ê─╬╧\"ê─╨╤\"ê─╥╤\"ê─╙╘\"ê╒!ê╫┘┬    !ê▌▐!ê▀αßΓ#êαπΣ#êασµ#êατΦ#êαΘΩ#êαδ∞#êαφε#êα∩≡#êα±≥#êα≤⌠#êα⌡÷#êα≈°#êα∙·#êα√ⁿ#êα²°#êα■ #êαü@üA#êαüBüC#êαüDüE#êαüFüG#êαüHüI#êαüJüK#êαüLüM#êαüNüO#êüPüQ!êRüQ\\SüTüU!ç" [kill-all-local-variables bibtex-mode-syntax-table set-syntax-table make-syntax-table modify-syntax-entry 34 "." 36 "$$  " 37 "<   " 39 "w   " 64 92 "\\" 12 ">   " 10 126 " " use-local-map bibtex-mode-map bibtex-mode major-mode "BibTeX" mode-name bibtex-mode-abbrev-table local-abbrev-table make-local-variable paragraph-start "^[  \n    ]*$" define-key "    " bibtex-find-text "\n" bibtex-next-field "\"" bibtex-remove-double-quotes "" bibtex-clean-entry "?" describe-mode "" bibtex-pop-previous "" bibtex-pop-next " " bibtex-kill-optional-field "" bibtex-empty-field "" bibtex-Article "" bibtex-Book "" bibtex-InProceedings "    " bibtex-InBook "i" bibtex-InCollection "I" "" bibtex-Manual "m" bibtex-MastersThesis "M" bibtex-Misc "" bibtex-remove-OPT "" bibtex-PhdThesis "p" bibtex-Proceedings "" bibtex-TechReport "" bibtex-string "" bibtex-Unpublished auto-fill-mode 1 bibtex-text-alignment left-margin run-hooks bibtex-mode-hook] 4 "\
  71. Major mode for editing bibtex files.
  72.  
  73. \\{bibtex-mode-map}
  74.  
  75. A command such as \\[bibtex-Book] will outline the fields for a BibTeX book entry.
  76.  
  77. The optional fields start with the string OPT, and thus ignored by BibTeX.
  78. The OPT string may be removed from a field with \\[bibtex-remove-OPT].
  79. \\[bibtex-kill-optional-field] kills the current optional field entirely.
  80. \\[bibtex-remove-double-quotes] removes the double-quotes around the text of
  81. the current field.  \\[bibtex-empty-field] replaces the text of the current
  82. field with the default \"\".
  83.  
  84. The command \\[bibtex-clean-entry] cleans the current entry, i.e. (i) removes
  85. double-quotes from entirely numerical fields, (ii) removes OPT from all
  86. non-empty optional fields, (iii) removes all empty optional fields, and (iv)
  87. checks that no non-optional fields are empty.
  88.  
  89. Use \\[bibtex-find-text] to position the dot at the end of the current field.
  90. Use \\[bibtex-next-field] to move to end of the next field.
  91.  
  92. \\[bibtex-x-environment] binds a mode-specific X menu to control+right
  93. mouse button.
  94. \\[bibtex-sun-environment] binds a mode-specific Sun menu to right
  95. mouse button.
  96.  
  97. Fields:
  98.     address
  99.            Publisher's address
  100.     annote
  101.            Long annotation used for annotated bibliographies (begins sentence)
  102.     author
  103.            Name(s) of author(s), in BibTeX name format
  104.     booktitle
  105.            Book title when the thing being referenced isn't the whole book.
  106.            For book entries, the title field should be used instead.
  107.     chapter
  108.            Chapter number
  109.     edition
  110.            Edition of a book (e.g., \"second\")
  111.     editor
  112.            Name(s) of editor(s), in BibTeX name format.
  113.            If there is also an author field, then the editor field should be
  114.            for the book or collection that the work appears in
  115.     howpublished
  116.             How something strange has been published (begins sentence)
  117.     institution
  118.            Sponsoring institution
  119.     journal
  120.            Journal name (macros are provided for many)
  121.     key
  122.            Alphabetizing and labeling key (needed when no author or editor)
  123.     month
  124.            Month (macros are provided)
  125.     note
  126.            To help the reader find a reference (begins sentence)
  127.     number
  128.            Number of a journal or technical report
  129.     organization
  130.            Organization (sponsoring a conference)
  131.     pages
  132.            Page number or numbers (use `--' to separate a range)
  133.     publisher
  134.            Publisher name
  135.     school
  136.            School name (for theses)
  137.     series
  138.            The name of a series or set of books.
  139.            An individual book will will also have it's own title
  140.     title
  141.            The title of the thing being referenced
  142.     type
  143.            Type of a technical report (e.g., \"Research Note\") to be used
  144.            instead of the default \"Technical Report\"
  145.     volume
  146.            Volume of a journal or multivolume work
  147.     year
  148.            Year---should contain only numerals
  149. ---------------------------------------------------------
  150. Entry to this mode calls the value of bibtex-mode-hook if that value is
  151. non-nil." nil])
  152. (fset 'bibtex-move-outside-of-entry #[nil "`dU¼É`eU¼ï└┴!¼å┬ ê├ ê─┼d╞#ç" [looking-at "[ \n]*@" backward-paragraph forward-paragraph re-search-forward "[     \n]*" t] 4 "\
  153. Make sure we are outside of